import {TargetType} from "../util/Constants";

export interface UserInfo{
    id?:number
    username:string
    password:string
    nickname:string
    deptId:number
    deptName:string
    role:'head' | 'bzz' | 'czy'
}

export interface Msg{
    id?:number
    content?:string
    msgType?:string
    sendId?:number
    targetId?:number
    contentId?:number
    msgStatus?:string
}

export interface BugEntering{
    id?:number
    uId?:string
    batchNumber?:string
    bugType?:string
    reloadingStyle?:string
    optionDate?:string
    nextReloadingDate?:string
    sum?:number
    roomId?:number
    digoutMonth?:string
    digoutInfection?:string
    userId?:number
    deptId?:number
    createBy?:string
    tableStatus?:string
    createTime?:string
    updatedBy?:string
    updatedTime?:string
    remark?:string
    leaderOpinion?:string
    userName?:string
    roomName?:string
}

export interface LocalChange{
    id?:number
    targetId?:string
    userId?:number
    // add del upd
    changeType?:string
    // input feed
    targetType?:TargetType
    changeTime?:string
    changeStatus?:string
}

export interface BugEnterVo{
    enter:BugEntering
    change?:LocalChange
}

export interface Room{
    id?:number
    deptId?:number
    userId?:number
    roomName?:string
    tableStatus?:string
    createBy?:string
    createTime?:string
    updatedBy?:string
    updatedTime?:string
    remark?:string
}


export interface BugFeedVo{
    feed:Feed
    change?:LocalChange
}

export interface Feed{
    id?:number
    tableType: 'Feed' | 'Head' | 'Bzz'
    enterId?:number
    yearsMonth?:string
    dateForDay?:string
    roomId?:number
    roomName?:string
    batchNumber?:string
    bugType?:string
    optionMonth?:string
    round?:number
    period?:number
    reloadDay?:string
    nextReloadDay?:string
    changeNum?:number
    stiffNum?:number
    roundStiff?:number
    pupaNum?:number
    roundPupa?:number
    deathNum?:number
    roundDeath?:number
    killNum?:number
    residue?:number
    changeDeptId?:number
    changeRoomId?:number
    glBatchNumber?:string
    glChangeNum?:number
    glStiffNum?:number
    glRoundStiff?:number
    glPupaNum?:number
    glRoundPupa?:number
    glKillNum?:number
    glDeathNum?:number
    glRoundDeath?:number
    glResidue?:number
    glChangeDeptId?:number
    glChangeRoomId?:number
    specialChange?:number
    userId?:number
    deptId?:number
    deptName?:string
    tableStatus?:string
    createTime?:string
    createBy?:string
    updatedBy?:string
    updatedTime?:string
    remark?:string
    leaderOpinion?:string
    glFlag?:string
    killFlag?:string
    feedBatchNumber?:string
}

export interface Dept{
    deptId?:number
    parentId?:number
    ancestors?:string
    deptName?:string
    orderNum?:number
    leader?:string
    phone?:string
    email?:string
    status?:string
    delFlag?:string
    createBy?:string
    createTime?:string
    updateBy?:string
    updateTime?:string
    killFlag?:string
}

export interface DayReport{
    id?:number
    qrChange?:number
    yzChange?:number
    stiffNum?:number
    pupaNum?:number
    deathNum?:number
    onceKill?:number
    ordinaryKill?:number
    allKill?:number
    changeDeptNum?:number
    specialChange?:number
    qrInput?:number
    yzInput?:number
    glNum?:number
    redBug?:number
    residue?:number
    userId?:number
    deptId?:number
    tableStatus?:string
    createTime?:string
    createBy?:string
    updatedBy?:string
    updatedTime?:string
    remark?:string
}

export interface Plan{
    id?:number
    planTime?:string
    changeNum?:number
    residue?:number
    insertNum?:number
    inputStaff?:number
    rotationStaff?:number
    lCottonNum?:number
    staffReceiveNum?:number
    pupaReceiveNum?:number
    sCottonNum?:number
    estimateTransformNum?:number
    entireKillNum?:number
    estimateKillNum?:number
    remark?:string
    createBy?:string
    createTime?:string
    updateBy?:string
    updateTime?:string
    deptId?:number
    userId?:number
}
